﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Input;

namespace Kokomo.Environment.Documents
{
	/// <summary>
	/// Represents a navigation context.
	/// </summary>
	/// <remarks>
	/// A navigation context maintains its own navigation stack and
	/// navigation commands.
	/// </remarks>
	public class NavigationContext
	{
		public NavigationContext(
			ICommand navigateToCommand
			)
		{
			if (navigateToCommand == null) throw new ArgumentNullException("navigateToCommand");
			this.NavigateToCommand = navigateToCommand;
		}

		/// <summary>
		/// Gets the command that navigates to an object.
		/// </summary>
		/// <remarks>
		/// Pass the target object as the argument to the command.
		/// </remarks>
		public ICommand NavigateToCommand { get; private set; }

		public void NavigateTo(object obj)
		{
		}
	}
}
